Integrated cognitive planner reference map + ValueSchema presets + FULL POC default#496
Conversation
…AUDE.md + plans + boards Workspace shipped lance/lance-linalg =7.0.0, lancedb =0.30.0, object_store 0.13.2 via PR #445 (E-LANCE7). CLAUDE.md 'Key Dependencies' + the D-MBX-11 plan/board refs were months-stale at =6.0.0 / =0.29.0 / planned =6.0.1. - CLAUDE.md: Key Dependencies block -> 7.0.0 / 0.30.0 (+ object_store coupling note) - STATUS_BOARD / D-MBX-COMPLETION-MAP: D-MBX-11 -> Superseded (#445 jumped past =6.0.1) - plans (unified-soa-convergence, bindspace->mailbox-soa, reliability-arc, wikidata-lazy-spine): SUPERSEDED-annotated; factual Cargo.lock refs -> 7.0.0 - INTEGRATION_PLANS: dated inline correction (append-only preserved) - AGENT_LOG: prepended sweep entry + canon pointer + self-correction - Append-only history (EPIPHANIES/PR_ARC/LATEST_STATE/handover) left intact; TD-SURREALDB-KVLANCE-LANCE7 remains the only residual (fork still pins 6) https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
…ssed/Bootstrap) The value-side analog of EdgeCodecFlavor: per-class presets for which tenants the 480-byte NodeRow::value slab materialises. Closes the SoA-extension dilution gap — helix-48 was the one element still only a TODO comment in the value slab; it is now a first-class tenant alongside turbovec-Pq32x4 + signed-CoarseResidue. - ValueTenant: 9 stable append-only positions (discriminant == FieldMask bit == VALUE_TENANTS index) — Meta/Qualia/MaterializedEdges/Fingerprint/HelixResidue/ TurbovecResidue/Energy/Plasticity/EntityType. - VALUE_TENANTS: stable row-relative carve [32,186) (reserve-don't-reclaim, contiguous, compile-time asserted <= 480). - ValueSchema presets via FieldMask: Bootstrap (EMPTY default) / Cognitive (58 B) / Compressed (98 B) / Full (154 B = all 9 tenants). - ClassView::value_schema() defaulted to Bootstrap (non-breaking; mirrors edge_codec_flavor). - Layout-preserving: carves WITHIN the reserved slab, NODE_ROW_STRIDE=512 untouched, no ENVELOPE_LAYOUT_VERSION bump. Reuses class_view::FieldMask (presence) + soa_envelope::ColumnDescriptor (carve) — no new presence type. +6 tests + 3 compile-time canon asserts; fmt + clippy -D warnings + test -p lance-graph-contract green (611 lib tests). Board: LATEST_STATE Contract Inventory + AGENT_LOG updated same commit. https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
…-before-dilution) THE file:line-grounded reference doc for the integrated-cognitive-planner arc — the target the 5-savant expansion + 3-brutal hardening agents must cite so they do not hallucinate architecture. 4-layer P0 (FORGET LADYBUG: thinking-engine>P64>cognitive-shader-driver), §1 grounded current state, §2 the 6 additive seams with FOLDs, §3 (hhtl-guid):path:documentid / ScopedReference addressing + Pinpoint/TiKV lessons, §4 the 8-step cognitive cycle -> Rubicon phases, §5 measure-first probes, §6 open questions, §7 reference index. Verdict: the integrated planner ~90% EXISTS (#437-#492 + unmerged jolly-cori-clnf9); remaining = 6 seams + addressing + a CognitiveCycle sequencer, NOT a new build. Board hygiene (same commit): prepend INTEGRATION_PLANS.md + AGENT_LOG.md. https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
…ner-v1 Five Opus expansion savants (convergence-architect / bus-compiler / truth-architect / scenario-world / trajectory-cartographer), each pinned to the reference map by file:line, deepened it and CORRECTED three errors: - cache/convergence.rs is wired+tested, NOT stubbed (seam #5) - emit cutover is 5 sites incl. the contract twin plan.rs:44; planner has no mailbox -> KanbanMove.mailbox via PlanContext (seam #1) - temporal dep-wall fold is A-then-B both-required, NOT A-vs-B (seam #2) - documentid = dn_hash (already shipped), NOT local_key (the entity-MID) (§3) - NiblePath<->prefix bijection overflows 16-nibble MAX_DEPTH -> tier-structured (§3) Added: §2.1 ExecTarget routing, §3.1 causal-arc persistence, §4.1 0-friction strategy<->step table, §8 cross-savant synthesis (T1 cycle-home fork, T2 &mut-vs-&self, C1 Think-carrier [deferred #372], C2 rung 1:1, C3 carriers- provisioned-before-consumers, + the 7-item additive new-code ledger). 5 new probes + 6 new OQs. Board hygiene: prepend AGENT_LOG.md. https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
… (decision a) Operator decision (a): every unconfigured class (incl. the default classid 0x0000_0000) materialises the FULL value slab so downstream consumers (tesseract-rs / woa-rs / medcare-rs / q2) can transcode against a fully-populated NodeRow POC. Specialisation is opt-IN: a consumer that needs to save memory mints a class overriding to a smaller preset; one that needs denser data mints a separate class. Layout-preserving (Full carves within the reserved 480 B — no NODE_ROW_STRIDE / ENVELOPE_LAYOUT_VERSION change). The TYPE-level ValueSchema::default() stays Bootstrap, so the substrate zero-fallback is intact; only the class->schema resolution default flipped. ZERO invention (honours the anti-skew guardrail): Full activates the already-existing, already-tested 9 ValueTenants (helix-48 is the existing HelixResidue tenant, not a new property). Guard test value_schema_default_is_full_temporary_poc added. 613 lib tests green. Tracked as TD-VALUESCHEMA-FULL-POC-DEFAULT (revert-before-merge obligation); AGENT_LOG prepended. https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
…drail 3 brutally-honest agents (PP-13 HOLD / PP-15 CATCH-LATENT / PP-16 READY-TO-DISPATCH) hardened the plan; all fixes are spec-text, no architectural rewrite. New §9 ledger: 5 LOCKED decisions (emit channels separate-not-derived; cycle() stays inherent for object-safety; seam #2 read is closure-injected; dual-RungLevel mirror-don't-duplicate; P-RUNG-ROUNDTRIP quarters-vs-thirds) + latent boundary fixes (THREE PlanResult; MailboxId sentinel; newtype the address u64s) + P2s + sub-line drift (incl. "#495 rides #496" -> branch-only). New §0 ANTI-INVENTION GUARDRAIL (read-first): no agent invents new skewed SoA properties; the 9 ValueTenants + 4 BindSpace columns are closed; the §8 7-item ledger is the MAX scope; specialisation is opt-in (mint a class). Enforced by dto-soa/iron-rule savants + the 3 hardeners. Inline fixes: emit channels separate-not-derived (was the I-LEGACY trap); §4 "closes seam #2" -> closure-injected. AGENT_LOG prepended. https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (3)
✅ Files skipped from review due to trivial changes (2)
🚧 Files skipped from review as they are similar to previous changes (1)
📝 WalkthroughWalkthroughAdds ChangesValueSchema contract additions
Lance 6→7 version documentation sweep
Integrated cognitive planner reference plan
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 34649dff57
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| // (canon zero-fallback) before merge. No invention: `Full` activates the | ||
| // already-existing, already-tested 9 ValueTenants (helix-48 / turbovec / | ||
| // signed / fingerprint / …), it adds no new property. | ||
| crate::canonical_node::ValueSchema::Full |
There was a problem hiding this comment.
Restore the zero-fallback schema default
Because RegistryClassView and WikidataClassView inherit this default, any class that does not override value_schema (including the unknown/default class) is now reported as Full even though NodeRow::value is still zero-filled by default and ValueSchema::default() is Bootstrap. Downstream code that uses the resolver to decide which tenants are present will treat absent zero-filled fields as materialized; the adjacent comment also says this POC default must be reverted before merge, so the blanket default should stay Bootstrap unless a concrete class explicitly opts in.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Intentional, not a regression — keeping as-is. The blanket Full default is an operator-locked POC decision: specialisation is opt-in (a class mints a smaller preset — Cognitive/Compressed/Bootstrap — to save memory). It's layout-preserving (no stride / ENVELOPE_LAYOUT_VERSION change), and the type-level ValueSchema::default() stays Bootstrap, so the substrate zero-fallback is intact — only the class→schema resolution default flipped. Note value_schema is the class layout declaration, not per-row presence (FieldMask is the presence bit), so a zero-filled tenant is a valid empty value, not "materialized corruption". Tracked as TD-VALUESCHEMA-FULL-POC-DEFAULT with a guard test (value_schema_default_is_full_temporary_poc) that enforces the revert when the POC phase ends.
Generated by Claude Code
| /// turbovec PQ residue ([`EdgeCodecFlavor::Pq32x4`], 16 B). | ||
| TurbovecResidue = 5, |
There was a problem hiding this comment.
Reserve a tenant for CoarseResidue
When a class selects EdgeCodecFlavor::CoarseResidue, the contract says the per-dimension signed-4-bit residue is carried in the value slab, but the value-slab tenant list only adds a codec slot for Pq32x4. As a result Full/Compressed can claim all codec tenants are present while providing no addressable column for CoarseResidue data, so a consumer pairing CoarseResidue with these schemas cannot persist or reconstruct that residue without colliding with another tenant.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
Real gap — confirmed and tracked (no reflexive fix). ValueTenant has TurbovecResidue (for Pq32x4) but no slot for CoarseResidue's signed-nibble residue, while EdgeCodecFlavor::CoarseResidue (canonical_node.rs:213) declares it's carried in the value slab. It's pre-existing — the EdgeCodecFlavor enum rode #495 (920671d), not this PR's ValueSchema/FULL default. Per our anti-invention guardrail (plan §0) we won't reflexively mint a tenant; tracked as TD-COARSERESIDUE-NO-VALUE-TENANT (6ad8e0c) with two options: (a) mint a CoarseResidue tenant (append-only, sign-off-gated), or (b) reuse the TurbovecResidue slab region — the flavor disambiguates the read mode, zero new tenant (preferred). Resolved before any class selects CoarseResidue with a dense preset.
Generated by Claude Code
There was a problem hiding this comment.
Actionable comments posted: 2
🧹 Nitpick comments (3)
.claude/plans/integrated-cognitive-planner-v1.md (3)
51-51: ⚡ Quick winAdd language identifiers to code fences.
Lines 51 and 152 have unmarked
```blocks. Specify a language or usetextfor clarity:
- Line 51 (architecture diagram): change
```to```text- Line 152 (addressing table): change
```to```textThis resolves MD040 linter warnings and improves readability.
🔧 Proposed fix
## P0 — The architecture (4 layers). FORGET LADYBUG. -``` +```text SurrealDB (BUILDING BLOCK — orchestrates the META AST/Elixir level; GOOD at it)and
Resolves left→right, mirroring `NodeGuid`: -``` +```text (hhtl-guid) : path : documentidAlso applies to: 152-152
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.claude/plans/integrated-cognitive-planner-v1.md at line 51, The file .claude/plans/integrated-cognitive-planner-v1.md contains unmarked code fences that are triggering MD040 linter warnings. At line 51 (architecture diagram), change the opening ``` to ```text. At line 152 (addressing table), also change the opening ``` to ```text. This specifies the content type for better clarity and resolves the linter warnings.Source: Linters/SAST tools
192-192: 💤 Low valueThe cycle's public API entry point should be named precisely.
Line 191 states "the public entry is one new
cycle(&mut self, query, situation) -> Result<CycleOutcome, PlanError>ALONGSIDEplan_full/plan_auto, both UNCHANGED." This is clear, but for the implementer: confirm the signature's parameter names and types (especiallyqueryandsituation) match the pattern inplan_full/plan_autoso the cycle fits the existing planner call site conventions. If the planner currently takes(&self, …, exec: ExecTarget)parameters, ensure the cycle can bridge that contract.Status: this is advisory; the document is sound. The tension resolutions (T1 closure-injection, T2 interior mutability on epiphany) mean the cycle will be the only
&mutentry, so callers must adapt. This is a breaking change to the public Planner API — not a surprise, but worth noting for migration planning.🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.claude/plans/integrated-cognitive-planner-v1.md at line 192, The documented signature for the new cycle method entry point should precisely match the parameter naming and types used in the existing plan_full and plan_auto methods to maintain API consistency. Review the current Planner interface (particularly plan_full and plan_auto) to confirm that the cycle method's query and situation parameters align with how those existing methods accept their inputs, and verify whether ExecTarget or similar execution parameters need to be bridged or adapted. Document clearly that this is a breaking API change since cycle is the only &mut entry point and callers will need to adapt their call sites accordingly.
301-302: ⚡ Quick winVerify the
#495/#496 branch-only attribution is accurate and clearly communicated to downstream workers.Line 301 (DRIFT-6) claims that
ValueSchema/ValueTenant/EdgeCodecFlavorare "POST-#495 BRANCH commits… NOT part of the already-merged#495— target the branch tree; do NOT verify against origin/main." Cross-checking against PR objectives confirms this is accurate: this PR (cohort#5) IS adding these types as new to the codebase, and they are not present onorigin/main. The hardening verdict correctly warns workers not to falsely assume they exist upstream.However, the phrasing "rides
#496" in the PR objectives (and elsewhere) could be clearer about whether#496is the current PR being reviewed or a future PR. Recommend adding a one-line clarification before §9 to orient new readers: e.g., "This PR (referred to as#496in commit history) introduces the types cited in §1–§7; see DRIFT-6 for upstream verification notes."This is low-impact and advisory; the document is not wrong, but upstream developers should not hunt for these types on main.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In @.claude/plans/integrated-cognitive-planner-v1.md around lines 301 - 302, The document needs a clarifying one-liner added before section §9 to explicitly state that "This PR (referred to as `#496` in commit history) introduces the types cited in §1–§7; see DRIFT-6 for upstream verification notes." This clarification will orient new readers by making clear that `#496` is the current PR being reviewed and that `ValueSchema`, `ValueTenant`, and `EdgeCodecFlavor` are branch-only additions not present on origin/main, preventing downstream workers from mistakenly searching for these types in upstream code.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In @.claude/board/STATUS_BOARD.md:
- Line 656: Change the status value for the D-MBX-11 row from "Superseded" to
"Abandoned" since "Superseded" is not a supported status value in the board's
status legend. The replacement information citing PR `#445` is already present in
the evidence/notes section, so keep that context intact while only updating the
status column to use the valid "Abandoned" status value.
In @.claude/plans/integrated-cognitive-planner-v1.md:
- Around line 164-165: The plan file at lines 164-165 makes assumptions about
implementation details that are either unwritten or mischaracterized. Correct
the following: (1) Update the `NiblePath::from_guid_prefix()` proposal to
explicitly note it is currently unwritten future work, not a verified
implementation (referenced as unwritten at line 219); (2) Correct the
characterization of DOLCE (hhtl.rs:18-23) from "dynamic cache binding" to
"static canonical enum ordering" (ENDURANT=0, PERDURANT=1, QUALITY=2, ABSTRACT=3
with reserved slots 0x4-0xF), since it is collision-free by design without
caching; (3) Correct tier widths from "cache-allocated nibble run" to
"struct-defined fixed layout" since HEEL, HIP, and TWIG are u16 fields in
NodeGuid contributing exactly 4 nibbles each (8+4+4+4=20 total); (4) Confirm
that `is_ancestor_of()` (hhtl.rs:176) is correctly implemented and proven but
clarify that `P-SCOPE-CLASSIFY` (line 219) and `P-DEDUP-ASOF` (line 217) remain
blocked until `from_guid_prefix()` is actually implemented and the bijection is
round-trippable.
---
Nitpick comments:
In @.claude/plans/integrated-cognitive-planner-v1.md:
- Line 51: The file .claude/plans/integrated-cognitive-planner-v1.md contains
unmarked code fences that are triggering MD040 linter warnings. At line 51
(architecture diagram), change the opening ``` to ```text. At line 152
(addressing table), also change the opening ``` to ```text. This specifies the
content type for better clarity and resolves the linter warnings.
- Line 192: The documented signature for the new cycle method entry point should
precisely match the parameter naming and types used in the existing plan_full
and plan_auto methods to maintain API consistency. Review the current Planner
interface (particularly plan_full and plan_auto) to confirm that the cycle
method's query and situation parameters align with how those existing methods
accept their inputs, and verify whether ExecTarget or similar execution
parameters need to be bridged or adapted. Document clearly that this is a
breaking API change since cycle is the only &mut entry point and callers will
need to adapt their call sites accordingly.
- Around line 301-302: The document needs a clarifying one-liner added before
section §9 to explicitly state that "This PR (referred to as `#496` in commit
history) introduces the types cited in §1–§7; see DRIFT-6 for upstream
verification notes." This clarification will orient new readers by making clear
that `#496` is the current PR being reviewed and that `ValueSchema`,
`ValueTenant`, and `EdgeCodecFlavor` are branch-only additions not present on
origin/main, preventing downstream workers from mistakenly searching for these
types in upstream code.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro Plus
Run ID: d6677492-32dc-4b73-94f8-1e9a30e4757e
📒 Files selected for processing (15)
.claude/board/AGENT_LOG.md.claude/board/D-MBX-COMPLETION-MAP.md.claude/board/INTEGRATION_PLANS.md.claude/board/LATEST_STATE.md.claude/board/STATUS_BOARD.md.claude/board/TECH_DEBT.md.claude/plans/bindspace-singleton-to-mailbox-soa-v1.md.claude/plans/integrated-cognitive-planner-v1.md.claude/plans/reliability-checklist-arc-v1.md.claude/plans/unified-soa-convergence-v1.md.claude/plans/wikidata-lazy-spine-hydration-v1.mdCLAUDE.mdcrates/lance-graph-contract/src/canonical_node.rscrates/lance-graph-contract/src/class_view.rscrates/lance-graph-contract/src/lib.rs
…actor basins (HHTL reverse) Operator: postpone the bgz-hhtl-d↔NodeGuid HHT address sync (different domain — weight rows vs graph nodes); bank the real idea as a probe-gated research-TODO. The synergy lives at the SHARED CLAM substrate (bgz-hhtl-d already uses CLAM furthest-point sampling + farthest-pair HIP ladder, BGZ_HHTL_D.md:112-116; the graph HHTL cascade is the same shape) — research whether the CLAM residue ladder defines knee/hip attractor basins supporting REVERSE (fine->coarse) ascent, domain-agnostic, without the postponed address unification. IDEAS.md Open entry, P3, probe-gated. https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
…eResidue TD Address PR #496 review comments: - CodeRabbit (plan §3:164): HHT tier widths are struct-defined fixed (u16 = 4 nibbles each), NOT cache-allocated; DOLCE is a static canonical enum ordering, not a dynamic cache. from_guid_prefix must deterministically subset 20→≤16 nibbles. Corrected. - CodeRabbit (STATUS_BOARD:656): "Superseded" is not in the status legend (Deferred/Abandoned only; :115 says superseded rows use Abandoned + cite replacement). D-MBX-11 -> Abandoned (superseded by #445). - codex (canonical_node.rs:336): real (pre-existing) gap — EdgeCodecFlavor:: CoarseResidue residue has no dedicated ValueTenant (only Pq32x4/TurbovecResidue does). Per §0 anti-invention guardrail, NOT reflexively adding a tenant; tracked as TD-COARSERESIDUE-NO-VALUE-TENANT (sign-off-gated; reuse-TurbovecResidue is the guardrail-preferred option). codex (class_view.rs:247, FULL default): intentional (decision a), tracked TD-VALUESCHEMA-FULL-POC-DEFAULT — no revert. https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
#496 merged (merge 2e58e03, CI 5/5 green, CodeRabbit resolved, codex P2 dispositioned). Post-merge hygiene per the Mandatory Board-Hygiene rule: - PR_ARC_INVENTORY: prepend #496 (Added/Locked/Deferred/Docs/Confidence) — ValueSchema/ValueTenant/VALUE_TENANTS + FULL POC default + the reference plan + §0 guardrail + §9 hardening; the keystone is the next unblock. - LATEST_STATE: prepend the #496 shipped note + the keystone convergence (from_guid_prefix + classid->ClassView read-mode on registry.rs). Capture (operator "yes"): TD-LAZY-IMPORT-VERSION-PIN — the OGIT-as-lazy-import drift-control finding (immutable-address + evolvable-shape + versioned-namespace + StructuralSignature-detector; lock version-pin + reserve-don't-reclaim sibling nibbles before the OGAR-identity migration runs a real load). EPIPHANY candidate flagged for the council. https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
…single source)
NodeGuid gains HHT accessors (heel/hip/twig), a one-shot decode() -> GuidParts
(classid + HEEL/HIP/TWIG + family + identity in canon print order), and a
carrier read_mode() method. ReadMode bundles the two already-existing read-mode
axes (ValueSchema + EdgeCodecFlavor) — not a new node property, not a SoA column,
just the resolution lens (§0 anti-invention). classid_read_mode(u32) is the
single source both the consumer and OGAR inherit: a LazyLock<HashMap> builtin
registry, zero-fallback to ReadMode::DEFAULT for unconfigured classids.
ReadMode::DEFAULT = {Full, CoarseOnly} mirrors the ClassView::value_schema POC
default; the two sites revert together (TD-VALUESCHEMA-FULL-POC-DEFAULT paired,
guard test read_mode_default_is_full_poc). Display deduped onto the new HHT
accessors. +6 tests; 619 contract lib green; clippy -D warnings + fmt clean.
Delivers the contract-side half of the #496 keystone; the ontology-side
NiblePath::from_guid_prefix meets it at the classid (follow-up).
https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
…gn-partition Two codex P2s on #498: - ENVELOPE_LAYOUT_VERSION 1→2 — the HelixResidue 48→6 B right-size shifted every downstream value-tenant offset; bump gates it so a v1 blob refuses to decode rather than read tenants from the wrong bytes (safe: nothing persisted under v1, FULL is POC-only). - Signed360: encode |y| in 7 bits + sign in the partition (Pos⇒[128,255], Neg⇒[0,127]) so a near-rim negative lift (|y|≈0) can't round to 128 and read back as Pos. Regression test signed360_neg_sign_survives_near_rim_at_high_total. Also adds the #498 PR_ARC_INVENTORY entry (CodeRabbit mis-attributed this PR's helix/keystone/OCR/causal-edge work to #496 — corrected: it's #498's). contract 623 lib, helix 73 lib + 7 doc green; clippy -D warnings + fmt clean. https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
…5-specialist framing) Five specialists (cascade / family-codec / palette / dto-soa / truth-architect) framed the merged #497 OCR-transcode plans against the post-#498 substrate. Two showstoppers + 6-way drift; all 7 plans corrected: - HelixResidue 48 B → 6 B everywhere (a stored Signed360 index, not a 48-byte field); budgets/carve rebaselined (Full 112, [32,144)); headers #496 → #498. - "Morton-tile stacked-pyramid perturbation-shader" purged (does not exist; Morton rejected for Hilbert) → real primitives (mipmap pyramid / HHTL depth-cascade / CAKES). - "reversible without a hash" reframed: no residue→rank inverse exists; node = identity → content-store lookup, codebook = repair signal (I-VSA-IDENTITIES). - §0 tripwires: no ValueSchema::Ocr variant (ride Full/Compressed); Meta de-overloaded (confidence→Energy, provenance→Plasticity, OOV→content-store); TurbovecResidue is the edge codec, glyph→word uses DeepNSM CamCodes. - master critical path 42→53 becomes 42→{50,51}→53 (resolves the open #497 CodeRabbit Major). New ocr-probes-v1.md specs the 4 gating probes (OCR-RT/DET/POST/SCHEMA) for the unmeasured claims (int8-exact LSTM, bit-reproducible diff, 200k-LOC 1:1 layout). OCR-SCHEMA shipped as a contract test proving OCR rides an existing preset. EPIPHANIES E-OCR-PLAN-DRIFT-1 + AGENT_LOG entry. contract lib green; fmt clean. https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
… → VersionScheduler → KanbanMove The scheduler→kanban→view path (version tick lowers to the next Rubicon move over a MailboxSoaView) existed only as doc-comment prose + one single-tick in-crate unit test against a hand-rolled FakeView. Nothing asserted the REAL SurrealMailboxView read-glove across the full Rubicon lifecycle. This adds that bench — additive, zero source change, and the first integration-test file in this crate. Five kill-condition-first tests (each pins the CONTRACT the doc-comment claims, not current behaviour — avoiding the stale-test trap): - full_rubicon_arc_lowers_to_legal_successors: every forward tick emits a DAG-sanctioned edge (can_transition_to); walks Planning→CognitiveWork→ Evaluation→Commit + Plan→Planning. - absorbing_columns_schedule_no_move: Commit/Prune yield None (lifecycle terminates). - libet_anchor_only_on_sigma_commit_crossing: -550_000µs stamped only on Planning→CognitiveWork; 0 elsewhere. - lowering_is_deterministic: same (view, version, exec) → same move. - exec_target_rides_onto_the_move: backend selector survives lowering. Scope: IN-direction seam only (contract-space; not the gated planner-emit half per #496 §9). Verified locally: 5/5 pass; fmt clean.
PR #510 merged 2026-06-16 16:36 UTC (merge commit 0e6452c) on main — +125/-0 additive seam falsifier in crates/surreal_container/tests/ scheduler_seam.rs (first integration-test file in surreal_container). Five kill-condition-first tests pin the IN-direction of the surreal↔ kanban↔scheduler wiring (SurrealMailboxView → NextPhaseScheduler:: on_version → KanbanMove) against the real view (not FakeView): 1. full_rubicon_arc_lowers_to_legal_successors 2. absorbing_columns_schedule_no_move 3. libet_anchor_only_on_sigma_commit_crossing 4. lowering_is_deterministic 5. exec_target_rides_onto_the_move Out of scope (deferred, explicit in PR body): the OUT-direction = planner-emit KanbanMove (CognitiveCycle sequencer + §9 LOCKED from #496). D-MBX-A6-P3 remains the next unblock for closing the loop. This PR proves the downstream half; upstream still hand-rolled. Retroactive board update (merge landed before the same-commit hygiene rule could fire). Two files: PR_ARC_INVENTORY (prepend), LATEST_STATE (dated bullet + table row). https://claude.ai/code/session_01Xzyc27Nx3f8WC5KzwfWfjx
PR #510 merged 2026-06-16 16:36 UTC (merge commit 0e6452c) on main — +125/-0 additive seam falsifier in crates/surreal_container/tests/ scheduler_seam.rs (first integration-test file in surreal_container). Five kill-condition-first tests pin the IN-direction of the surreal↔ kanban↔scheduler wiring (SurrealMailboxView → NextPhaseScheduler:: on_version → KanbanMove) against the real view (not FakeView): 1. full_rubicon_arc_lowers_to_legal_successors 2. absorbing_columns_schedule_no_move 3. libet_anchor_only_on_sigma_commit_crossing 4. lowering_is_deterministic 5. exec_target_rides_onto_the_move Out of scope (deferred, explicit in PR body): the OUT-direction = planner-emit KanbanMove (CognitiveCycle sequencer + §9 LOCKED from #496). D-MBX-A6-P3 remains the next unblock for closing the loop. This PR proves the downstream half; upstream still hand-rolled. Retroactive board update (merge landed before the same-commit hygiene rule could fire). Two files: PR_ARC_INVENTORY (prepend), LATEST_STATE (dated bullet + table row). https://claude.ai/code/session_01Xzyc27Nx3f8WC5KzwfWfjx
PR #510 merged 2026-06-16 16:36 UTC (merge commit 0e6452c) on main — +125/-0 additive seam falsifier in crates/surreal_container/tests/ scheduler_seam.rs (first integration-test file in surreal_container). Five kill-condition-first tests pin the IN-direction of the surreal↔ kanban↔scheduler wiring (SurrealMailboxView → NextPhaseScheduler:: on_version → KanbanMove) against the real view (not FakeView): 1. full_rubicon_arc_lowers_to_legal_successors 2. absorbing_columns_schedule_no_move 3. libet_anchor_only_on_sigma_commit_crossing 4. lowering_is_deterministic 5. exec_target_rides_onto_the_move Out of scope (deferred, explicit in PR body): the OUT-direction = planner-emit KanbanMove (CognitiveCycle sequencer + §9 LOCKED from #496). D-MBX-A6-P3 remains the next unblock for closing the loop. This PR proves the downstream half; upstream still hand-rolled. Retroactive board update (merge landed before the same-commit hygiene rule could fire). Two files: PR_ARC_INVENTORY (prepend), LATEST_STATE (dated bullet + table row). https://claude.ai/code/session_01Xzyc27Nx3f8WC5KzwfWfjx
What this carries
The accumulated branch work on the integrated-cognitive-planner arc — a meticulously file:line-grounded spec (not the impl), the
ValueSchemavalue-slab substrate, and a temporary FULL POC default so downstream consumers can transcode against a fully-materialisedNodeRow.Contract (additive, layout-preserving — no
NODE_ROW_STRIDE/ENVELOPE_LAYOUT_VERSIONchange)ValueSchema/ValueTenant/VALUE_TENANTS(canonical_node.rs, +311) — the value-side analog ofEdgeCodecFlavor. 9 stable append-only tenants carving[32,186); four presets viaFieldMask(BootstrapEMPTY /Cognitive58 B /Compressed98 B /Full154 B). Closes the helix-48 dilution gap (helix-48= the existingHelixResiduetenant, not a new property). Reusesclass_view::FieldMask+soa_envelope::ColumnDescriptor— no new presence type.class_view.rs):ClassView::value_schemaflippedBootstrap → Full. Every unconfigured class (incl. the defaultclassid 0x0000_0000) materialises the whole slab; specialisation is opt-IN (a consumer mints a class to go smaller/denser). The TYPE-levelValueSchema::default()staysBootstrap, so the substrate zero-fallback is intact — only the class→schema resolution default flipped. Guard test +TD-VALUESCHEMA-FULL-POC-DEFAULTrevert obligation.Plan / reference doc (
.claude/plans/integrated-cognitive-planner-v1.md, +301)The single file:line-grounded reference for the integrated planner — the substrate ~90% EXISTS; the work is 6 additive seams + a
CognitiveCyclesequencer, not a new build. 4-layer architecture (SurrealDB orchestrates AST →lance-graph-plannercoordinates → thinking-engine > P64 > cognitive-shader-driver thinks → callcenter writes). Hardened by a 5-savant expansion (§2.1/§3.1/§4.1/§8) + 3 brutally-honest agents (§9 verdicts: HOLD / CATCH-LATENT / READY-TO-DISPATCH), with a read-first §0 anti-invention guardrail (no new skewed SoA properties; the 9 tenants + 4 BindSpace columns are closed; specialisation is opt-in).Docs
6.0.0 → 7.0.0/0.29 → 0.30across CLAUDE.md + plans + boards (the canonical stack since build(deps): lance 6.0.0 → =7.0.0 + lancedb 0.29.0 → =0.30.0 (object_store 0.13 aligns surrealdb kv-lance) #445).INTEGRATION_PLANS,AGENT_LOG,STATUS_BOARD,TECH_DEBT,LATEST_STATE,D-MBX-COMPLETION-MAP.Scope / not in this PR
This is the spec + the value-slab substrate, not the planner impl. The §8 7-item additive ledger (the
CognitiveCyclesequencer,RungLevelconstructors, thetemporal.rsrelocation +temporal_readjoin,ScopedReference, the BardiocMarkingRow, theNiblePathbijection,ExecTarget::can_drive) is queued behind D-MBX-A6-P3 — the §9 LOCKED decisions must land in the ledger before any worker dispatch. The tesseract-rs transcode POC (first consumer against the now-Full slab) is the next deliverable.Tests
cargo test -p lance-graph-contract→ 613 lib green (incl. the newvalue_schema_default_is_full_temporary_pocguard).https://claude.ai/code/session_01D2WSmezQBNC3bUdHuGfGmo
Generated by Claude Code
Summary by CodeRabbit
New Features
Bug Fixes
Documentation